我正在尝试rbind
为特定类编写方法.这是一个简单的例子,它不起作用(至少对我而言):
rbind.character <- function(...) { do.call("paste", list(...)) }
输入此函数后,我似乎可以确认它是R知道的有效方法:
> methods("rbind") [1] rbind.character rbind.data.frame rbind.rootogram* rbind.zoo* see '?methods' for accessing help and source code
但是,如果我尝试使用它,则无法识别:
> rbind("abc", "xyz") [,1] [1,] "abc" [2,] "xyz" > #### compared with #### > rbind.character("abc", "xyz") [1] "abc xyz"
帮助页面表示调度内部执行如下:
对于每个参数,我们从class属性中获取可能的类成员资格列表.
我们轮流检查每个班级,看看是否有适用的方法.
如果我们找到适用的方法,我们确保它与先前参数确定的任何方法相同.如果它是相同的,我们继续,否则我们立即转到默认代码.
有了rbind("abc", "xyz")
,我相信所有这些标准都是满意的.给出了什么,我该如何解决?
attributes("abc") #NULL
一个character
向量没有一个类属性.我不认为可以rbind
为隐式类调度方法.